Heise 29.05.2026
09:00 Uhr

Neu in .NET 10.0 [25]: Neuer LINQ-Operator Shuffle()


Der in .NET 10.0 eingeführte LINQ-Operator Shuffle() mischt eine Menge zufällig, ohne dabei die Ausgangsmenge zu verändern.

Neu in .NET 10.0 [25]: Neuer LINQ-Operator Shuffle()

Shuffle() mischt eine gegebene Menge von Objekten zufällig. Der neue Operator Shuffle() ändert die Ausgangsmenge nicht, sondern liefert das gemischte Ergebnis als IEnumerable<T> zurück. Details finden sich im zugehörigen GitHub-Issue.

Shuffle() verwendet unter der Haube die Klasse System.Random. Die Randomisierung erfolgt also mithilfe eines nicht kryptografisch sicheren Zufallszahlengenerators.

Folgender Code nutzt den neuen Befehl Shuffle():

Shuffle() funktioniert aber nur im RAM bei LINQ-to-Objects. Es gibt keine Übersetzung in SQL bei Entity Framework Core. Möglich ist aber, Shuffle() auf eine Objektmenge im RAM anzuwenden, auch wenn diese von Entity Framework Core materialisiert wurde:

(rme)